
class Settings():
    """存储《外星人入侵》的所有设置的类"""
    def __init__(self):

        """初始化游戏的静态设置"""         
        # 屏幕设置         
        self.screen_width = 1200         
        self.screen_height = 800         
        self.bg_color = (230, 230, 230)

        # 飞船的设置
        self.ship_limit = 3

        # 子弹设置
        self.bullet_width = 3
        self.bullet_height = 15
        self.bullet_color = 30, 30, 30
        self.bullets_allowed = 3 

        # 外星人设置
        self.fleet_drop_speed = 15
        # 以什么样的速度加快游戏节奏
        self.speedup_scale = 1.1
        # 外星人点数的提高速度
        self.score_scale = 1.5

        #图片设置
        self.background = 'images/bg_all.png'
        self.ship_img = 'images/after_ship.jpg'
        self.bullet_img = 'images/ymq.png'
        self.alien_imgs = ['images/kwy.png','images/cx.png','images/ll.png','images/ht.png','images/dwd.png']

        """音效设置"""   
        #音频文件路径
        self.bullet_music = "./musics/bullet.wav"
        self.boom_music = "./musics/boom.wav"
        self.bg_music = "./musics/sky.mp3"
        #音量设置
        self.load = 0.8     #0~1

        self.initialize_dynamic_settings()

    def initialize_dynamic_settings(self):
        """初始化随游戏进行而变化的设置"""
        self.ship_speed_factor = 2
        self.bullet_speed_factor = 3
        self.alien_speed_factor = 0.2
 
        # fleet_direction为1表示向右；为-1表示向左
        self.fleet_direction = 1 

        # 记分
        self.alien_points = 50 

    def increase_speed(self):
        """提高速度设置和外星人点数"""
        self.ship_speed_factor *= self.speedup_scale
        self.bullet_speed_factor *= self.speedup_scale
        self.alien_speed_factor *= self.speedup_scale

        self.alien_points = int(self.alien_points * self.score_scale)
        print(self.alien_points)
 